package com.shigen.demo.config;

import lombok.Data;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;

@Data
@Configuration
public class ConfigProperty {
  // 文件存储地址
  @Value("${file.savePath}")
  private String savePath;

  // 用户头像保存的路径
  @Value("${file.icon.savePath}")
  private String iconSavePath;

  // token的有效时长，默认为60min
  @Value("${token.timeout:3600}")
  private Long tokenTimeOut;

  // 前后端允许的时延，默认为10s
  @Value("${token.delay:10}")
  private Long tokenDelay;

  // 剩余的有效时长，默认为3min，当token的有效期小于3min，重新设置token的有效时长
  @Value("${token.leftTime:180}")
  private Long tokenLeftTime;

  // DES的密钥
  @Value("${des.key:shigen}")
  private String desKey;

  // 创建用户的密码盐
  @Value("${password.salt}")
  private String passwordSalt;

  // 是否允许多设备登录，默认为false
  @Value("${account.allowMultipleDevices:false}")
  private String allowMultipleDevices;

  // 允许试错次数
  @Value("${account.allowFailTime:3}")
  private int allowFailTime;

  // 错误有效时长,如：10min之内只允许错3次，默认为10min
  @Value("${account.failDuration:120}")
  private int failDuration;

  // 是否需要需要验证token
  @Value("${account.needAuthod}")
  private boolean needAuthod;

  // 登录的调试信息
  @Value("${login-debug.enable}")
  private boolean loginDebugEnable;

  @Value("${login-debug.id}")
  private Integer id;

  @Value("${login-debug.name}")
  private String name;
}
